package com.baicaoyuan.web.enums;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;

@RequiredArgsConstructor
@Getter
public enum ApplyStatusEnum {

    /**
     * 删除
     */
    DELETED("0"),

    /**
     * 申请中
     */
    COMMIT("1"),

    /**
     * 处理中
     */
    HANDLING("2"),

    /**
     * 成功
     */
    SUCCESS("3"),

    /**
     * 失败
     */
    FAILED("4"),

    /**
     * 获取积分
     */
    SCORE("9");

    private final String status;

    /**
     * 根据标识获取枚举
     *
     * @param applyStatus
     * @return
     */
    public static ApplyStatusEnum acquire(final String applyStatus) {
        Optional<ApplyStatusEnum> statusEnum = Arrays.stream(ApplyStatusEnum.values())
                .filter(s -> (Objects.equals(s.getStatus(), applyStatus)))
                .findFirst();
        return statusEnum.orElse(ApplyStatusEnum.COMMIT);
    }
}
